package chapter1;

/**
 * create by yongli on 2021-07-08 07:44
 */

public class Section2 {
    public static void main(String[] args) {
        String s1="LIYONG";
        String s2 ="YONGLI";
        System.out.println(isCircle(s1,s2));
        System.out.println(circular(s1,s2));
    }

    // 暴力算法，旋转，然后尝试所有的方式
    // LIYONG, YONGLI: 寻找第一个字母的位置，将其他不符合情况的都枝减掉了
    // 把一个字符串做成一个环，从任意地方切掉，都是其环转字符。
    public static boolean isCircle(String s1,String s2){
        // 要输入非null字符串
//        if(s1==null && s2==null){
//            return true;
//        }
//        // 其他情况
//        if(s1==null || s2==null){
//            return false;
//        }
        if(s1.length()!=s2.length()){
            return false;
        }
        for(int i=0;i<s1.length();){
            // substring
            int j = s2.substring(i).indexOf(s1.charAt(0));
            if(j<0){
                return false;
            }
            String left = s2.substring(0,i+j+1);
            String s3 = s2.substring(i+j+1) + left;
            if(s3.equals(s1)){
                return true;
            }
            i=j+i+1;
        }
        return true;
    }

    public static boolean circular(String s1,String s2){
        if(s1.length()==s2.length() && s1.concat(s1).indexOf(s2)>0){
            return true;
        }
        return false;
    }
}
